package com.qzsoft.zhjd.server.modules.ludong.exp.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.*;

import java.time.LocalDateTime;

/**
 * @ClassName: LaboratoryDeviceEntity
 * @Description: 实验室设备
 * @author linhuawei
 * @since 2021-05-17
 */
@Data
@EqualsAndHashCode(callSuper = false)
@NoArgsConstructor
@AllArgsConstructor
@Builder
@ToString
@TableName("n_laboratory_device")
@JsonIgnoreProperties({ "deleted" })
public class CollectLaboratoryDeviceEntity {

    /**
     * 设备主键
     */
    @TableId(type = IdType.UUID)
    private String id;

    /**
     * 基地主键
     */
    private String organizationId;

    /**
     * 实验室名称
     */
    private String laboratoryName;

    /**
     * 设备类型
     */
    private String type;

    /**
     * 设备名称
     */
    private String name;

    /**
     * 设备型号
     */
    private String model;

    /**
     * 设备编号
     */
    private String code;
    /**
     * 设备唯一编号
     */
    private String uniqueCode;

    /**
     * 生产厂商
     */
    private String manufacturer;

    /**
     * 服务电话
     */
    private String servicePhone;

    /**
     * 所属单位id
     */
    private String baseCode;

    /**
     * 所属单位UUid
     */
    private String deptPkid;

    /**
     * 数量
     */
    private Integer num;

    /**
     * 是否自动采集
     */
    private Integer autoCollection;

    /**
     * 备注
     */
    private String remark;

    /**
     * 添加人
     */
    @TableField(fill = FieldFill.INSERT, updateStrategy = FieldStrategy.NEVER)
    private String insertBy;

    /**
     * 添加时间
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(fill = FieldFill.INSERT, updateStrategy = FieldStrategy.NEVER)
    private LocalDateTime insertTime;

    /**
     * 修改人
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String updateBy;

    /**
     * 修改时间
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;

    /**
     * 删除标记
     */
    @TableLogic
    @TableField(fill = FieldFill.INSERT, updateStrategy = FieldStrategy.NEVER)
    private String deleted;

}
